238
Blockchain Technology
MasterCard and Visa cards can perform thousands of transactions per second,
whereas a bitcoin blockchain can process around ten transactions per second
(Kosba et al., 2016). So, to design an efficient and distributed blockchain system is
quite a challenging issue.
One more concern that needs to be addressed is to design an efficient algorithm
to take consensus of all nodes, ignoring the illegitimate nodes, in a permission-based
system.
The mining process involved in blockchain systems requires a lot of computation
power, so it is the need of the hour to design an effective mining process that can be
executed with the requirement for less computation power.
The blockchain system offers a lot of advantages and possesses such attractive
characteristics that everyone wants to become part of this network. This also adds to
the responsibilities of the developers. In such a scenario, when the blockchain grows
in size, efficient mechanisms need to be employed to store and verify data by each
node.
Other challenges that also affect blockchain systems are replacement of current
databases, handling interoperability issues, effectively implementing distributed
task scheduling, etc.
14.3.2 Blockchain Architecture and Protocols
Blockchain technology allows a global database to be accessed from anywhere by
anyone having an internet connection. A blockchain is not owned by any central
party like banks or government. It is nearly impossible to cheat the system when the
entire network is looking after the blockchain, thus protecting users from fake docu
ments and fraudulent transactions.
Figure 14.1 displays the basic architecture of a blockchain system, where users
are connected with each other in a distributive manner. Various operations that
a user can perform are initiating and validating a transaction or mining process.
Information is stored permanently among the nodes in the network. A local copy of
the blockchain system is stored at each node of the network, which is periodically
updated to ensure consistency among all the nodes of the network. A blockchain is
a distributed information-sharing platform, which allows multiple nodes that do not
trust each other to take part in the decision-making process. As the system is decen
tralized, it doesn’t suffer from the single point failure issue.
Figure 14.2 displays various types of blockchain. Presently, it can be classified as
public, private and consortium blockchain. In public blockchain, the ledger is made
public to all the users on the internet. Transactions can be added and verified to the
blockchain by anyone on the network (Xu et al., 2017). On the other hand, private
blockchain allows the addition and verification of transaction blocks only by specific
users of the organization, but anyone on the internet can view the ledger (Dinh et al.,
2017). In consortium blockchain, only specific organizations can add or verify a
transaction block.
The basic element of the structure is a block. A block comprises a group of valid
transactions. In a blockchain system, any user can start the transaction and broadcast
it to all the users present in that network. New transactions can be validated using